Kdo a jak muze tento ovladac uzivat
-----------------------------------
doctete se v souboru "licence".









=================================
Ovladac tiskarny BT100 pro IBM/PC
=================================

Pro to aby Vam tento ovladac fungoval potrebujete DOS 3.30 a vyssi.
Dale potrebujete volny jeden paraleleni port. Tento port musi mit
pripojeno preruseni.

Ovladac bt100.bin instalujete v souboru CONFIG.SYS radkem:

DEVICE=[cesta_k_ovladaci]bt100.bin [volby] font

Napr:
DEVICE=c:\bt100\bt100.bin c:\bt100\bt100.fnt

kdyz budete mit tento ovladac i s ostatnimi soubory v adresari c:\bt100.

Do prikazoveho radku k ovladaci lze uvest tyto volby:

/8 - tisk 80 zn. na radek. Kazdy znak je v matici 6xY
/6 - tisk 60 zn. na radek. Kazdy znak je v matici 8xY
/ix - nastaveni cisla preruseni (misto x). x muze byt z rozsahu 0-7
/lx - nastaveni lpt portu (misto x). x muze byt z rozsahu 1-4

Pozn. Y - vyska znaku je vypocitana z delky souboru s fontem nasledujicim
vzoreckem: delka_fontu/256 = vyska znaku


Tiskarna se chova jako soubor se jmenem BT100$. Takze tisknout lze treba:
'copy soubor bt100$'. Nebo take jde tisknout pomoci prikazu 'print'.
Napriklad 'print /d:bt100$ soubor.txt'. Pak soubor bude tisten na pozadi
a Vy vesele muzete pracovat s pocitacem.

Tip
---
Nekdy pokud na konci souboru neni znak '1ah' - konec souboru, muze zustat
nevytisten posledni radek. Proto je dobre poslat na BT100 bud jeste jeden ci
dva prazdne radky, nebo na to vzdy myslet a na konec tistenych souboru tyto
dva prazdne radky pridavat automaticky.


Fonty
-----
Dodavany font bt100.fnt je font v kodovani kamenickych pro 80zn. na radek.
Font je normalni posloupnost bajtu jednotlivych znaku. V ovladaci je napevno
dana maximalni vyska fontu na 12 microradku.



========
Zapojeni
========

Lpt								 Bt100
---								 -----

						   |\|
10 - ACK -------------+------\			/--| |----+----- OUT 3 - Snimac posuvu papiru
		      |      |			|  |/| D1 |
		      |      |			|	  |
		   R1 -      |			|  ||	  |
		     | |      \   |    R2	+--||-----|--+-- OUT 7 - Snimac bodu
		      - 	\ |    ---	|  || C1  |  |
		      |     T1	  | --|   |-----+	  |  |
		      | 	/ |    ---	|	  |  |
		      |      |/   |		- R3	  |  |
		      |      |- 	       | |	  |  |
		      |      |			-	  |  |
		      |     --- GND		|	  |  |
		      | 			|	  |  |
 9 - D7 --------------+-------------------------/	  |  |
13 - SLCTIN ----------------------------------------------/  |
15 - ERROR --------------------------------------------------/
11 - BUSY ------------------------------------------------------ OUT 1 - Snimac dorazu
12 - POUT ------------------------------------------------------ OUT 6 - Snimac synchronizace


 1 - STROBE ---------------------------------------------------- IN 4 - Vozik vlevo
14 - AUTOFEED -------------------------------------------------- IN 1 - Vozik vpravo
16 - INIT ------------------------------------------------------ IN 6 - Posuv papiru
17 - SLCTOUT --------------------------------------------------- IN 5 - Jehla

18 - 25 GND ----------------+-----------------------------+----- OUT 2 - GND
			    |				  \----- IN 2  - GND
			   --- GND

Rozpiska soucastek:
R1 - 22K
R2 - 7K4
R3 - 33K
T1 - libovolny NPN tranzistor (KC 507)
C1 - 100n
D1 - KY 130/80 - muze byt i jina

Tyto soucastky nejsou povinne. Jejich hodnoty jsou uplne od oka. Vzal jsem,
co jsem mel doma.




==================
Testovani tiskarny
==================

K tomuto slouzi program bttst.exe. Kdyz tiskarna funguje dobre, pak zacne
jezdit s vozikem vlevo a vpravo a bude posunovat papirem. Zaroven vypisuje,
to zda pri tisku bodu, narazil na synchronizaci, ci ne.



=====================
Programatorsky pohled
=====================

Pokud se dobre podivate na zapojeni zjistite, ze kdyz se pohybuje vozik, tak
se pri kazdem bodu vyvola preruseni, program pak musi, ma-li se tisknout bod,
pohnout tiskovou jehlou a muze se vratit z obsluhy preruseni. Toto se tyka
kdyz jede vozik vpravo. Vlevo je to slozitejsi, protoze tisk by byl rozhozen
(indexovy otvor ma nejakou sirku, tzn. preruseni neni vyvolano na stejnem miste
jede-li vozik vpravo nebo vlevo), je treba pockat na konec bodoveho impulsu.

Bodovy impuls:

      ------------------	       -----------------------
			|	      |
			|	      |
			|	      |
			---------------

			|
			zde vyvolano preruseni pri pohybu vpravo
				      |
				      zde vyvolano preruseni pri pohybu vlevo


Posun papiru je organizovan podobne. Program rekne at se papir posunuje a pocka
az prijde preruseni (pozor! jeste muze dojizdet tiskovy vozik, je generovano asi
7 preruseni nez prijde impuls o microradku).


Pohled na porty
---------------

Pro LPT1 base=378h

base+0 - vystupni - treba nastavit D7 na 1, aby pracoval invertor.
		    Toto je jeho zdroj napajeni

base+1 - vstupni - zde jsou zjistovany stavy tiskarny
	 bit 7 - snimac dorazu. 0 - doraz je
	 bit 6 - pouze se stara o generovani preruseni
	 bit 5 - snimac synchronizace. 0 - je synchro impuls
		 Pozor! kdyz jede vozik vpravo synchronizace jsou zaroven s
		 prerusenim. Kdyz jede vlevo je treba cekat. Synchronizace
		 prichazi kazdych 20 bodu.
	 bit 4 - snimac papiru. 0 - je mikroradek
	 bit 3 - snimac bodu. 0 - je bod

base+2 - vystupni - ridi se jim chod tiskarny
	 bit 4 - povoleni preruseni od LPT. 1 - preruseni povoleno
		 Pozor! jeste je treba povolit preruseni v radici preruseni
		 port 20h a 21h.
	 bit 3 - jehla. 0->1 uder jehly. Je-li nastaveno na 0 - vice odolne
		 proti ruseni.
	 bit 2 - posun papiru. 0 - papir se posunuje.
	 bit 1 - vozik vpravo. 1 - posun voziku
	 bit 0 - vozik vlevo. 1 - posun voziku


Pokud by nekdo dodelal nebo upravil tento ovladac, prosim poslete mi tyto zmeny.

Preklad a linkovani
-------------------
Program prelozite pomoci Turbo asembleru do EXE souboru. Potom pomoci
EXE2BIN (BIN) prevedete do bin souboru.





=================
Parmetry tiskarny
=================

480 bodu na radek
690 bodu na stranku (velmi priblizne)


Doufam ze Vam k necemu tento ovladac bude.

(c) Leden 1997 - Vladimir MICHL


Email: Vladimir.Michl@seznam.cz
Adresa:
	 Vladimir MICHL
	 U Nove skoly 292
	 Velky Tynec
	 783 72
